package com.zonta.finance.serivce;

import com.zonta.finance.common.dto.TokenResponse;
import com.zonta.finance.domain.form.PhoneRegisterForm;
import com.zonta.finance.domain.vo.GenerateMpRegCodeVo;
import com.zonta.finance.wx.dto.MpSubscribeEventRequest;

public interface IMemberRegisterService {
    /**
     * 手机号注册
     * @param form
     * @return
     */
    Long phoneRegister(PhoneRegisterForm form);


    /**
     * 生成微信公众号二维码（关注注册）
     * @param clientId 客户端id
     * @return
     */
    GenerateMpRegCodeVo generateMpRegCode(String clientId);

    void handleMpSubscribeEventRequest(MpSubscribeEventRequest mpSubscribeEventRequest);

    /**
     * 根据微信openId注册用户
     * @param appId //小程序或者公众号appid
     * @param clientId 客户端id
     * @param openId 微信用户openId
     * @return
     */
    TokenResponse registerByMpOpenId(String appId, String clientId, String openId);
}
